﻿using System.Windows.Media;
using CuteRibs.MVVMLib;

namespace CuteRibs.WowArmory.ViewModels
{
	public class SearchResultItemViewModel : ViewModelBase
	{
		public string Uri { get; set; }
	}

	public class SummarySearchResultItemViewModel : SearchResultItemViewModel
	{
		public string Field { get; set; }
		public string Title { get; set; }
		public string Count { get; set; }
	}

	public class CharacterSearchResultItemViewModel : SearchResultItemViewModel
	{
		public string Realm { get; set; }
		public string Slug { get; set; }
		public string Side { get; set; }
		public string Race { get; set; }
		public string Class { get; set; }
		public string Name { get; set; }
		public string Icon { get; set; }
		public string Level { get; set; }
		public string Guild { get; set; }
		public SolidColorBrush SideColor { get; set; }
		public SolidColorBrush ClassColor { get; set; }
	}

	public class GuildSearchResultItemViewModel : SearchResultItemViewModel
	{
		public string Realm { get; set; }
		public string Side { get; set; }
		public string BattleGroup { get; set; }
		public string Name { get; set; }
		public string Level { get; set; }
		public SolidColorBrush SideColor { get; set; }
	}

	public class ItemSearchResultItemViewModel : SearchResultItemViewModel
	{
		public string Id { get; set; }
		public string Name { get; set; }
		public string Quality { get; set; }
		public string ItemLevel { get; set; }
		public string RequiredLevel { get; set; }
		public string Icon { get; set; }
		public string InventoryType { get; set; }
		public string EquipmentType { get; set; }
		public SolidColorBrush QualityColor { get; set; }
	}

	public class ArenaTeamSearchResultItemViewModel : SearchResultItemViewModel
	{
		public string Realm { get; set; }
		public string Side { get; set; }
		public string BattleGroup { get; set; }
		public string Name { get; set; }
		public string Size { get; set; }
		public string Rating { get; set; }
		public SolidColorBrush SideColor { get; set; }
	}

	public class ContentSearchResultItemViewModel : SearchResultItemViewModel
	{
		public string Icon { get; set; }
		public string Link { get; set; }
		public string Title { get; set; }
		public string Category { get; set; }
		public string Tags { get; set; }
		public string Description { get; set; }
	}

	public class ForumSearchResultItemViewModel : SearchResultItemViewModel
	{
		public bool IsReply { get; set; }
		public string PostLink { get; set; }
		public string Title { get; set; }
		public string Replies { get; set; }
		public string ForumLink { get; set; }
		public string Forum { get; set; }
		public string Author { get; set; }
		public string DateTime { get; set; }
		public string Brief { get; set; }
	}

	public class BlogSearchResultItemViewModel : SearchResultItemViewModel
	{
		public string Icon { get; set; }
		public string Link { get; set; }
		public string Title { get; set; }
		public string Comments { get; set; }
		public string Author { get; set; }
		public string DateTime { get; set; }
		public string Brief { get; set; }
	}

	public class SupportSearchResultItemViewModel : SearchResultItemViewModel
	{
		public string Link { get; set; }
		public string Title { get; set; }
		public string Brief { get; set; }
		public string DateTime { get; set; }
		public string Keywords { get; set; }
	}
}
